home *** CD-ROM | disk | FTP | other *** search
/ Aminet 41 / Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso / Aminet / comm / misc / EZPagerNG_CE.lha / EZP@gerNG_CE-1.5 / install-EZP@gerNG < prev    next >
Text File  |  2000-10-27  |  20KB  |  793 lines

  1. ;  $VER: InstallEZP@gerNG 1.16 (27.10.2000) Copyright © 2000 by Stefan Falke
  2.  
  3. (set #destdev "DH0:")
  4. (set #destdir "EZP@gerNG")
  5. (set #install-dest #destdev)
  6.  
  7. (set @default-dest "")
  8.  
  9. (set #prg_path "EZP@gerNG_Disk")
  10. (set #prg_name "EZP@gerNG")
  11. (set #assign "EZP@gerNG")
  12.  
  13.  
  14. (set #datapath "data")
  15.  
  16. (set #sdir (cat #prg_path ":"))
  17. (set #current_dir (expandpath ""))
  18.  
  19. (if (= @app-name "EZP@gerNG")        ((set #ezptype 0) ))
  20. (if (= @app-name "EZP@gerNG_UR")    ((set #ezptype 1) ))
  21. (if (= @app-name "EZP@gerNG_CE")    ((set #ezptype 2) (set #prg_name @app-name) ))
  22. (set #fullname (select #ezptype "EZP@gerNG" "EZP@gerNG, unregistrierte Version" "EZP@gerNG, Classic Edition"))
  23.  
  24. (set #vernum (getversion))
  25. (set #os_ver (/ #vernum 65536))
  26. (set #os_rev (- #vernum (* #os_ver 65536)))
  27.  
  28. (set #invernum @installer-version)
  29. (set #in_ver (/ #invernum 65536))
  30. (set #in_rev (- #invernum (* #in_ver 65536)))
  31.  
  32.  
  33.  
  34. (procedure setLanguage
  35.     (set #lang_en 0)
  36.     (set #lang_de 1)
  37.     (set #lang_nl 2)
  38.     (set #lang_builtin #lang_en)
  39.  
  40.     (set #language #lang_builtin)
  41.  
  42.     (set #lch_deu "Deutsch")
  43.     (set #lch_enu "English")
  44.  
  45.     (set #lch_del "deutsch")
  46.     (set #lch_enl "english")
  47.  
  48.     (if (= (exists (tackon #sdir "Catalogs/nederlands") (noreq)) 2) (
  49.         (set #lch_nlu "Nederlands")
  50.         (set #lch_nll "nederlands")
  51.     )(
  52.         (set #lch_nlu "")
  53.         (set #lch_nll "")
  54.     ))
  55.  
  56.     (if (= #lch_enl @language) (set #language #lang_en))
  57.     (if (= #lch_del @language) (set #language #lang_de))
  58.     (if (= #lch_nll @language) (set #language #lang_nl))
  59.  
  60.     (if (= #in_ver 0) (
  61.         (set #langhelp "Please choose your language\nBitte Sprache auswählen")
  62.         (set #language (askchoice
  63.                 (choices #lch_enu #lch_deu)
  64.                 (prompt #langhelp)
  65.                 (help #langhelp)
  66.                 (default #language)
  67.             )
  68.         )
  69.     ))
  70.  
  71.     ; English strings
  72.     ;
  73.     (set #wrongversion "This installation procedure needs Installer V42.6 or better.")
  74.  
  75.     (set #welcome1a "\n\nSMS messaging, Paging and EMail client\n\nCopyright © 2000 by Stefan Falke, All Rights Reserved.\nUnauthorized copying prohibited.\n\nAuthor: Stefan Falke\n\nWeb: www.sfxsoft.de\nEMail: support@sfxsoft.de")
  76.     (set #welcome1b "\n\nPaging Softwaret\n\nCopyright © 2000 by Stefan Falke, All Rights Reserved.\nUnauthorized copying prohibited.\n\nAuthor: Stefan Falke\n\nWeb: www.sfxsoft.de\nEMail: support@sfxsoft.de")
  77.     (set #welcome2 "\nThis installation script may be used for a\n\n» First time installation «\n\nor to\n\n» Upgrade an existing installation «")
  78.  
  79.     (set #installnow "\nThe install script has all necessary information to install EZP@gerNG on your system.\n\nThe EZP@gerNG files will now be copied.")
  80.  
  81.     (set #chdir "Please select a directory for the %s.\n\nNo drawer will be created by default.")
  82.     (set #chdirhelp "You have to specify now the path of the drawer in which all files shall be copied.\nNon existant drawers can be created from within this install script including their accompanying icons.")
  83.  
  84.     (set #asklibdir "In which drawer do you want the support libraries to be installed?")
  85.     (set #askclassdir "In which drawer do you want the support classes to be installed?")
  86.  
  87.     (set #gdisk "Please insert disk \"%s\" in a drive of your choice.")
  88.     (set #gdhelp "The disk \"%s\" is needed to copy all files of the %s into the specified drawer.")
  89.  
  90.     (set #lchelp "Please select the language catalog to be installed")
  91.     (set #askcatdir "In which drawer do you want the catalog to be installed?")
  92.  
  93.     (set #iconnew "\nDo you want the existing EZP@gerNG-Icon to be copied over by the new icon from the installation archive?\nChoose 'No' if you have already modified some tooltypes.\n(Recommended choice: 'No')")
  94.     (set #owhelp "If you respond to this requester with 'Yes', a possibly existing %sversion will be written over completely!")
  95.     (set #owhelp2 "If you respond to this requester with 'Yes', a possibly existing file will be written over completely!")
  96.  
  97.     (set #askassign "Do you want an assign for \"%s:\" to \"%s\" to be added to the User-Startup file?")
  98.     (set #assignhelp "If you respond to this requester with 'Proceed', an assign to the logical device 'EZP@gerNG:' will be added to the User-Startup file which will ease the installation of newer releases and the access to all EZP@gerNG files.")
  99.  
  100.     (set #askinstall1 "Do you want to install the main program again?")
  101.     (set #askinstall2 "Do you want to install the main program with version %ld.%ld?")
  102.     (set #installed1 (cat "Version %ld.%ld of the program \"%s\" presumably has already been installed completely.\n" #askinstall1))
  103.     (set #installed2 (cat "ATTENTION! Version %ld.%ld of the program \"%s\" already exists in the destination drawer.\n" #askinstall2))
  104.     (set #installed3 "The data file \"%s\" presumably has already been installed completely in the destination drawer.\nDo you want to install this file again?\n(Recommended choice: 'No')")
  105.  
  106.     (set #ppart1 "main program")
  107.     (set #ppart2 #ppart1)
  108.  
  109.     (set #pr_copymain "Copy main program")
  110.     (set #pr_copylibs "Copy support library ")
  111.     (set #pr_copyclasses "Copy support class ")
  112.     (set #pr_copycats "Copy language catalog")
  113.     (set #pr_servicedat "Copy service data")
  114.     (set #pr_copyicons "Copy icons")
  115.     (set #pr_copyarexx "Copy ARexx scripts")
  116.     (set #pr_copycontrib "Copy contribution files")
  117.     (set #pr_keyfile "Copy keyfile")
  118.     (set #pr_copyguide "Copy user guide")
  119.  
  120.     (set #newer "newer ")
  121.     (set #older "older ")
  122.     (set #no "No")
  123.     (set #yes "Yes")
  124.  
  125.  
  126.     ;    German strings
  127.     ;
  128.     (if (= #language #lang_de) (
  129.     (set #wrongversion "Diese Installations-Prozedur benötigt den Installer V42.6 oder neuer.")
  130.  
  131.     (set #welcome1a "\n\nNachrichtenversand an Handys, Pager und EMail-Empfänger\n\nCopyright © 2000 Stefan Falke, Alle Rechte vorbehalten.\nUnerlaubtes Kopieren untersagt.\n\nAuthor: Stefan Falke\n\nWeb: www.sfxsoft.de\nEMail: support@sfxsoft.de")
  132.     (set #welcome1b "\n\nNachrichtenversand an Pager\n\nCopyright © 2000 Stefan Falke, Alle Rechte vorbehalten.\nUnerlaubtes Kopieren untersagt.\n\nAuthor: Stefan Falke\n\nWeb: www.sfxsoft.de\nEMail: support@sfxsoft.de")
  133.     (set #welcome2 "\nDieses Installations-Skript kann für eine\n\n» Erstinstallation «\n\noder zum\n\n» Upgraden einer vorhandenen Installation «\n\nverwendet werden.")
  134.  
  135.     (set #installnow "\nDas Install-Skript hat alle notwendigen Informationen, um den EZP@gerNG auf Ihrem System zu intstallieren.\n\nDie EZP@gerNG-Dateien werden jetzt kopiert.")
  136.  
  137.     (set #chdir "Bitte Verzeichnis für %s auswählen.\n\nEin eigenes Verzeichnis wird nicht automatisch erzeugt.")
  138.     (set #chdirhelp "Sie müssen jetzt den Pfad des Verzeichnisses angeben, in das die Dateien kopiert werden sollen.\nNoch nicht vorhandene Verzeichnisse können von diesem Installationprogramm aus angelegt werden und mit einem Schubladen-Icon versehen werden.")
  139.  
  140.     (set #asklibdir "In welchem Verzeichnis sollen die Support-Libraries installiert werden?")
  141.     (set #askclassdir "In welchem Verzeichnis sollen die Support-Klassen installiert werden?")
  142.  
  143.     (set #gdisk "Bitte legen Sie die Diskette \"%s\" in ein Laufwerk Ihrer Wahl.")
  144.     (set #gdhelp "Die Diskette \"%s\" wird benötigt, damit alle Dateien des %s in das angegebene Zielverzeichnis kopiert werden können.")
  145.  
  146.     (set #lchelp "Wählen Sie den EZP@gerNG Sprachen-Katalog der installiert werden soll.")
  147.     (set #askcatdir "In welchem Verzeichnis soll der Sprachen-Katalog installiert werden?")
  148.  
  149.     (set #iconnew "\nWollen Sie das bereits bestehende EZP@gerNG-Icon mit dem Icon aus dem Installations-Archiv überschreiben?\nWenn Sie bereits ToolTypes verändert haben, sollten Sie 'Nein' wählen.\n(Empfohlene Wahl: 'Nein')")
  150.     (set #owhelp "Wenn Sie diesen Requester mit 'Ja' beantworten, wird eine eventuell schon vorhandene %sVersion komplett überschrieben!")
  151.     (set #owhelp2 "Wenn Sie diesen Requester mit 'Ja' beantworten, wird eine eventuell schon vorhandene Datei komplett überschrieben!")
  152.  
  153.     (set #askassign "Soll ein Assign für \"%s:\" auf \"%s\" in die Datei User-Startup eingefügt werden?")
  154.     (set #assignhelp "Wenn Sie diesen Requester mit 'Weiter' beantworten, wird ein Assign auf das logische Device 'EZP@gerNG:' in die Datei User-Startup eingefügt, wodurch das Installieren neuerer Versionen und der Zugriff auf EZP@gerNG-Dateien vereinfacht wird.")
  155.  
  156.     (set #askinstall1 "Wollen Sie das Hauptprogramm erneut installieren?")
  157.     (set #askinstall2 "Wollen Sie das Hauptprogramm mit der Version %ld.%ld installieren?")
  158.     (set #installed1 (cat "Die Version %ld.%ld des Programmes \"%s\" ist vermutlich schon komplett in dem angegebenen Zielverzeichnis installiert.\n" #askinstall1))
  159.     (set #installed2 (cat "ACHTUNG! In dem angegebenen Zielverzeichnis befindet sich bereits die Version %ld.%ld des Programmes \"%s\".\n" #askinstall2))
  160.     (set #installed3 "Die Datendatei \"%s\" wurde in dem angegebenen Zielverzeichnis vermutlich bereits komplett installiert.\nWollen Sie diese Datei erneut installieren?\n(Empfohlene Wahl: 'Nein')")
  161.  
  162.     (set #pr_copymain "Kopieren des Hauptprogrammes")
  163.     (set #pr_copylibs "Kopieren der Support-Library ")
  164.     (set #pr_copyclasses "Kopieren der Support-Klasse ")
  165.     (set #pr_copycats "Kopieren des Sprachen-Katalogs")
  166.     (set #pr_servicedat "Kopieren der Service-Daten")
  167.     (set #pr_copyicons "Kopieren der Icons")
  168.     (set #pr_copyarexx "Kopieren der ARexx-Skripte")
  169.     (set #pr_copycontrib "Kopieren der Contribution-Dateien")
  170.     (set #pr_keyfile "Kopieren des Keyfiles")
  171.     (set #pr_copyguide "Kopieren der Bedienungsanleitung")
  172.  
  173.     (set #ppart1 "Hauptprogramm")
  174.     (set #ppart2 (cat #ppart1 "s"))
  175.  
  176.     (set #newer "neuere ")
  177.     (set #older "ältere ")
  178.     (set #no "Nein")
  179.     (set #yes "Ja")
  180.     ))
  181. )
  182.  
  183. (procedure askUserOpts
  184.     (chooseDestDir)
  185.     (chooseLibDir)
  186.     (chooseClassDir)
  187.  
  188.     (set #dfile (tackon @default-dest #prg_name))
  189.     (if (= (exists (tackon #sdir "catalogs")) 2)    (askCats))
  190.  
  191.     (checkMain)
  192.  
  193.     (checkData)
  194. )
  195.  
  196. (procedure copyAll
  197.     (working)
  198.  
  199.     (if (= #docopymain 1) (
  200.         (copyMain)
  201.  
  202.         (set #file "fgui.library")
  203.         (copyLibs)
  204.         (set #file "fpager_fgui.gui")
  205.         (copyLibs2)
  206.         (set #file "fbase.library")
  207.         (copyLibs)
  208.         (set #file "ezpsupport.library")
  209.         (copyLibs2)
  210.         (set #file "pprsmtp.library")
  211.         (copyLibs)
  212.  
  213.         (set #file "fbubble.gadget")
  214.         (copyClasseses)
  215.         (set #file "fbutton.gadget")
  216.         (copyClasseses)
  217.         (set #file "fdbutton.gadget")
  218.         (copyClasseses)
  219.         (set #file "ficon.gadget")
  220.         (copyClasseses)
  221.         (set #file "stringfield.gadget")
  222.         (copyClasseses)
  223.         (set #file "fgui.image")
  224.         (copyClasseses)
  225.         (set #file "ficons.image")
  226.         (copyClasseses)
  227.         (set #file "select.image")
  228.         (copyClasseses)
  229.  
  230.         (set #file "ezp@gerng.key")
  231.         (copyKey)
  232.  
  233.         (if (= (exists (tackon #sdir "catalogs")) 2)    (copyCats))
  234.  
  235.         (run ("avail >nil: flush"))
  236.  
  237.         (set #dfile "EZP@gerNG.guide")
  238.         (set #file (tackon #sdir #dfile))
  239.         (copyGuides)
  240.  
  241.         (set #dfile "ReadMe.guide")
  242.         (set #file (tackon #sdir #dfile))
  243.         (copyGuides)
  244.  
  245.         (set #dfile "EZP@gerNG_FAQ.guide")
  246.         (set #file (tackon #sdir #dfile))
  247.         (copyGuides)
  248.     ))
  249.  
  250.     (copyData)
  251.  
  252.     (set #path "icons")
  253.     (set #pattern "8Bit")
  254.     (set #prompt #pr_copyicons)
  255.     (copyDir)
  256.  
  257.     (set #path "icons")
  258.     (set #file "service")
  259.     (set #prompt #pr_copyicons)
  260.     (copyFile)
  261.  
  262.     (set #path "icons")
  263.     (set #file "toolbar")
  264.     (set #prompt #pr_copyicons)
  265.     (copyFile)
  266.  
  267.     (set #path "rexx")
  268.     (set #prompt #pr_copyarexx)
  269.     (set #pattern "#?.ezprx")
  270.     (copyDir)
  271.  
  272.     (set #path "contribution")
  273.     (set #prompt #pr_copycontrib)
  274.     (set #pattern "#?")
  275.     (copyDir)
  276.  
  277. )
  278.  
  279. (procedure askCats
  280.     (set catalog (askchoice
  281.             (choices #lch_enu #lch_deu)
  282.             (prompt #lchelp)
  283.             (help #lchelp)
  284.             (default #language)
  285.         )
  286.     )
  287.  
  288.     (if (= catalog #lang_en) (set #ulcat #lch_enl))
  289.     (if (= catalog #lang_de) (set #ulcat #lch_del))
  290.     (if (= catalog #lang_nl) (set #ulcat #lch_nll))
  291.  
  292.     (if (= catalog #lang_builtin) (set #ulcat ""))
  293.     (if (<> #ulcat "") (
  294.         (set catdirc (askchoice
  295.                 (choices (tackon @default-dest (cat "catalogs/" #ulcat)) (cat "LOCALE:catalogs/" #ulcat) )
  296.                 (prompt #askcatdir)
  297.                 (help #askcatdir)
  298.                 (default 0)
  299.             )  
  300.         )
  301.  
  302.         (if (= catdirc 0) (
  303.             (set #catdir @default-dest)
  304.         )(
  305.             (set #catdir "LOCALE:")
  306.             (if (< (exists "LOCALE:" (noreq)) 2) (
  307.                 (makedir "sys:Locale")
  308.                 (makeassign "LOCALE" "sys:Locale")
  309.             ))
  310.             )
  311.         )
  312.     ))
  313. )
  314.  
  315. (procedure copyCats
  316.     (if (<> #ulcat "") (
  317.         (if (< (exists (tackon #catdir "catalogs")) 2)
  318.             (makedir (tackon #catdir "catalogs"))
  319.         )
  320.         (if (< (exists (tackon #catdir (cat "catalogs/" #ulcat)) ) 2)
  321.             (makedir (tackon #catdir (cat "catalogs/" #ulcat)) )
  322.         )
  323.         (copylib
  324.             (prompt #pr_copycats)
  325.             (help @copylib-help)
  326.             (source (cat (tackon #sdir "catalogs/") #ulcat "/EZP@gerNG.catalog"))
  327.             (dest (tackon #catdir (cat "catalogs/" #ulcat)) )
  328.             (optional "nofail")
  329.             (confirm)
  330.         )
  331.     ))
  332. )
  333.  
  334. (procedure chooseLibDir
  335.     (set libdirc (askchoice
  336.             (choices (tackon @default-dest "libs") "LIBS:")
  337.             (prompt #asklibdir)
  338.             (help #asklibdir)
  339.             (default 0)
  340.         )  
  341.     )
  342.  
  343.     (if (= libdirc 0) (
  344.         (set #libdir (tackon @default-dest "libs"))
  345.         (if (< (exists #libdir) 2)
  346.             (makedir #libdir)
  347.         )
  348.     )(
  349.         (set #libdir "LIBS:")
  350.     ))
  351. )
  352.  
  353. (procedure chooseClassDir
  354.     (set classdirc (askchoice
  355.             (choices (tackon @default-dest "classes") "sys:Classes")
  356.             (prompt #askclassdir)
  357.             (help #askclassdir)
  358.             (default 0)
  359.         )  
  360.     )
  361.  
  362.     (if (= classdirc 0) (
  363.         (set classdir (tackon @default-dest "classes"))
  364.         (if (< (exists classdir) 2)
  365.             (makedir classdir)
  366.         )
  367.     )(
  368.         (set classdir "sys:Classes")
  369.     ))
  370. )
  371.  
  372. (procedure copyLibs
  373.     (set spath (tackon #sdir (cat "libs/" #file)))
  374.  
  375.     (if (= (exists spath) 1)(
  376.         (copylib
  377.             (prompt (cat #pr_copylibs #file))
  378.             (help @copylib-help)
  379.             (source spath)
  380.             (dest #libdir)
  381.             (optional "nofail")
  382.             (confirm)
  383.         )
  384.     ))
  385. )
  386.  
  387. (procedure copyLibs2
  388.     (set spath (tackon #sdir (cat "libs/" #file)))
  389.  
  390.     (if (= (exists spath) 1)(
  391.  
  392.  
  393.  
  394.             (copyfiles
  395.                 (prompt (cat #pr_copylibs #file))
  396.                 (help @copylib-help)
  397.                 (source spath)
  398.                 (dest #libdir)
  399.                 (optional "nofail")
  400.                 (confirm)
  401.             )
  402.     ))
  403. )
  404.  
  405. (procedure copyClasseses
  406.     (set spath (tackon #sdir (cat "classes/" #file)))
  407.  
  408.     (if (= (exists spath) 1)(
  409.         (copylib
  410.             (prompt (cat #pr_copyclasses #file))
  411.             (help @copylib-help)
  412.             (source spath)
  413.             (dest classdir)
  414.             (optional "nofail")
  415.             (confirm)
  416.         )
  417.     ))
  418. )
  419.  
  420. (procedure checkData
  421.     (set spath (tackon #sdir #datapath))
  422.     (set dpath (tackon #install-dest #datapath))
  423.  
  424.     (if (= (exists spath) 2)(
  425.         (if (< (exists dpath) 2)
  426.             (makedir dpath)
  427.         )
  428.  
  429.         (set #docopydata 1)
  430.         (set dname "service")
  431.         (if (= (exists (tackon dpath (cat dname ".dat"))) 1)(
  432.             (set vprompt (#installed3 dname))
  433.             (set #docopydata
  434.                 (askbool
  435.                     (prompt    vprompt)
  436.                     (help        #owhelp2)
  437.                     (choices #yes #no)
  438.                 )
  439.             )
  440.         ))
  441.     ))
  442. )
  443.  
  444. (procedure copyData
  445.     (set spath (tackon #sdir #datapath))
  446.     (set dpath (tackon #install-dest #datapath))
  447.  
  448.     (if (= (exists spath) 2)(
  449.         (set dname "service")
  450.  
  451.         (if (= #docopydata 1)(
  452.             (copyfiles
  453.                 (prompt #pr_servicedat)
  454.                 (help @copyfiles-help)
  455.                 (source spath)
  456.                 (dest dpath)
  457.                 (pattern (cat dname ".#?"))
  458.                 (confirm)
  459.             )
  460.         ))
  461.  
  462.         (copyfiles
  463.             (prompt #pr_servicedat)
  464.             (help @copyfiles-help)
  465.             (source spath)
  466.             (dest dpath)
  467.             (pattern "#?.psp")
  468.             (confirm)
  469.         )
  470.  
  471.     ))
  472. )
  473.  
  474. (procedure copyDir
  475.     (set spath (tackon #sdir #path))
  476.     (set dpath (tackon #install-dest #path))
  477.  
  478.     (if (= (exists spath) 2)(
  479.         (if (< (exists dpath) 2)
  480.             (makedir dpath)
  481.         )
  482.         (copyfiles
  483.             (prompt #prompt)
  484.             (help @copyfiles-help)
  485.             (source spath)
  486.             (dest dpath)
  487.             (pattern #pattern)
  488.             (confirm)
  489.         )
  490.  
  491.     ))
  492. )
  493.  
  494. (procedure copyFile
  495.     (set spath (tackon #sdir (tackon #path #file)))
  496.     (set dpath (tackon #install-dest #path))
  497.  
  498.     (if (= (exists spath) 1)(
  499.         (if (= (exists (tackon dpath #file)) 0)
  500.             (copyfiles
  501.                 (prompt #prompt)
  502.                 (help @copyfiles-help)
  503.                 (source spath)
  504.                 (dest dpath)
  505.                 (confirm)
  506.             )
  507.         )
  508.     ))
  509. )
  510.  
  511. (procedure copyKey
  512.     (set #path (tackon #sdir #file))
  513.  
  514.     (if (= (exists #path) 1) (
  515.         (copyfiles
  516.             (prompt #pr_keyfile)
  517.             (help @copyfiles-help)
  518.             (source #path)
  519.             (dest #install-dest)
  520.             (optional "nofail")
  521.             (confirm)
  522.         )
  523.     ))
  524. )
  525.  
  526. (procedure copyGuides
  527.     (if (= (exists #file) 1)
  528.         (copyfiles
  529.             (prompt #pr_copyguide)
  530.             (help @copyfiles-help)
  531.             (source #file)
  532.             (dest #install-dest)
  533.             (infos)
  534.             (optional "nofail")
  535.             (confirm)
  536.         )
  537.     )
  538.  
  539.     (if (>= #os_ver 39)
  540.         (tooltype
  541.             (dest (tackon #install-dest #dfile))
  542.             (setdefaulttool "MultiView")
  543.         )
  544.         (tooltype
  545.             (dest (tackon #install-dest #dfile))
  546.             (setdefaulttool "AmigaGuide")
  547.         )
  548.     )
  549. )
  550.  
  551. (procedure copyMain
  552.     (if (= #nocopyicon 1) (
  553.         (copyfiles
  554.             (prompt #pr_copymain)
  555.             (help @copyfiles-help)
  556.             (source #file)
  557.             (dest #install-dest)
  558.             (optional "force")
  559.             (confirm)
  560.         )
  561.     )(
  562.         (copyfiles
  563.             (prompt #pr_copymain)
  564.             (help @copyfiles-help)
  565.             (source #file)
  566.             (dest #install-dest)
  567.             (infos)
  568.             (optional "force")
  569.             (confirm)
  570.         )
  571.     ))
  572.  
  573.     (if (= #prg_name "EZP@gerNG_CE") (
  574.         (set dpath (tackon #install-dest "EZP@gerNG"))
  575.         (if (= (exists dpath) 1) (
  576.             (set ver_dest (getversion dpath))
  577.             (set ver_d (/ ver_dest 65536))
  578.             (set rev_d (- ver_dest (* ver_d 65536)))
  579.  
  580.             (if (AND (= ver_d 1) (< rev_d 3)) (
  581.  
  582.                 (delete dpath
  583.                     (infos)
  584.                     (optional "force")
  585.                 )
  586.             ))
  587.         ))
  588.     ))
  589. )
  590.  
  591. (procedure checkMain
  592.     (if (= (exists #dfile) 1) (
  593.         (set ver_source (getversion #file))
  594.         (set ver_s (/ ver_source 65536))
  595.         (set rev_s (- ver_source (* ver_s 65536)))
  596.  
  597.         (set ver_dest (getversion #dfile))
  598.         (set ver_d (/ ver_dest 65536))
  599.         (set rev_d (- ver_dest (* ver_d 65536)))
  600.  
  601.         (if (= ver_source ver_dest) (
  602.             (set vprompt (#installed1 ver_s rev_s #prg_name))
  603.             (set vhelp (#owhelp ""))
  604.             (set #docopymain
  605.                 (askbool
  606.                     (prompt    vprompt)
  607.                     (help        vhelp)
  608.                     (choices #yes #no)
  609.                 )
  610.             )
  611.             (if (= @user-level 0) (set #docopymain 1))
  612.         ))
  613.         (if (< ver_source ver_dest) (
  614.             (set vprompt (#installed2 ver_d rev_d #prg_name ver_s rev_s))
  615.             (set vhelp (#owhelp #newer))
  616.             (set #docopymain
  617.                 (askbool
  618.                     (prompt    vprompt)
  619.                     (help        vhelp)
  620.                     (choices #yes #no)
  621.                 )
  622.             )
  623.             (if (= @user-level 0) (set #docopymain 0))
  624.         ))
  625.         (if (> ver_source ver_dest) (
  626.             (set vprompt (#installed2 ver_d rev_d #prg_name ver_s rev_s))
  627.             (set vhelp (#owhelp #older))
  628.             (set #docopymain
  629.                 (askbool
  630.                     (prompt    vprompt)
  631.                     (help        vhelp)
  632.                     (choices #yes #no)
  633.                 )
  634.             )
  635.             (if (= @user-level 0) (set #docopymain 1))
  636.         ))
  637.     )(
  638.         (set #docopymain 1)
  639.     ))
  640.  
  641.     (if (= #docopymain 1) (
  642.         (set #nocopyicon 0)
  643.  
  644.         (if (exists (cat (tackon #install-dest #prg_name) ".info"))
  645.             (set #nocopyicon
  646.                 (askchoice    (choices #yes #no)
  647.                     (prompt #iconnew)
  648.                     (help   #iconnew)
  649.                     (default 1)
  650.                 )
  651.             )
  652.         )
  653.     ))
  654. )
  655.  
  656. (procedure chooseDestDir
  657.     (set ptext (#chdir #ppart1))
  658.  
  659.     (if (= (exists (cat #assign ":") (noreq)) 2) (
  660.         (set #install-dest (cat #assign ":"))
  661.     )(
  662.         (if (= (exists #destdev (noreq)) 0) (
  663.             (set #destdev (cat (getdevice "sys:") ":"))
  664.             (set #install-dest #destdev)
  665.         ))
  666.         (if (= @user-level 0)
  667.             (set #install-dest (cat #destdev #destdir))
  668.             (set #install-dest #destdev)
  669.         )
  670.     ))
  671.  
  672.     (set @default-dest #install-dest)
  673.  
  674.     (set #install-dest
  675.         (askdir
  676.             (prompt  ptext)
  677.             (help        #chdirhelp)
  678.             (default    #install-dest)
  679.             (newpath)
  680.             (disk)
  681.         )
  682.     )
  683.  
  684.     (set assname (cat #assign ", © 2000 by Stefan Falke"))
  685.  
  686.     (if (= @default-dest #install-dest) (
  687.  
  688.         (if (= (exists @default-dest) 0) (
  689.             (makedir @default-dest
  690.                     (infos)
  691.             )
  692.         ))
  693.  
  694.         (if (= (exists (cat #assign ":") (noreq)) 0) (
  695.             (startup assname
  696.                 (prompt    (#askassign #assign #install-dest))
  697.                 (help        #assignhelp)
  698.                 (command    (cat "assign "#assign": \"" #install-dest "\""))
  699.                 (confirm)
  700.             )
  701.         ))
  702.  
  703.     )(
  704.  
  705.         (set @default-dest #install-dest)
  706.         (set cmd (cat "assign "#assign": \"" #install-dest "\""))
  707.  
  708.         (startup assname
  709.             (prompt    (#askassign #assign #install-dest))
  710.             (help        #assignhelp)
  711.             (command    cmd)
  712.             (confirm)
  713.         )
  714.  
  715.     ))
  716.  
  717.     (makeassign #assign #install-dest)
  718.  
  719.     (user defuser)
  720. )
  721.  
  722. (procedure getDisk
  723.     (set gdhelp (#gdhelp #source_disk #ppart2))
  724.     (set vprompt (#gdisk #source_disk))
  725.  
  726.     (askdisk
  727.         (prompt    vprompt)
  728.         (help        gdhelp)
  729.         (dest        #source_disk)
  730.     )
  731. )
  732.  
  733.  
  734. ;
  735. ; Start of Script
  736. ;
  737.  
  738.  
  739. (if (>= #in_ver 44 ) (
  740.     (effect "center" "horizontal" $0000FF $000000)
  741. ))
  742.  
  743.  
  744. (setLanguage)
  745.  
  746. (if (= #ezptype 0)    (set #welcome #welcome1a))
  747. (if (= #ezptype 1)    (set #welcome #welcome1a))
  748. (if (= #ezptype 2)    (set #welcome #welcome1b))
  749.  
  750. (message (cat "\n" #fullname #welcome) (all))
  751.  
  752. (message #welcome2 (all))
  753.  
  754. (welcome)
  755.  
  756.  
  757. (set defuser @user-level)
  758. (if (= @user-level 0) (user 1))
  759. (user defuser)
  760.  
  761.  
  762. (if (< #invernum 2752518) (
  763.     (message #wrongversion)
  764.     (exit (quiet))
  765. ))
  766.  
  767. (set #source_disk #prg_path)
  768. (set md (exists (cat #source_disk ":") (noreq)))
  769. (if (= md 0) (
  770.     (if (<> (exists (#prg_name)) 1)
  771.         (getDisk)
  772.     )
  773. ))
  774. (if (= md 0) (set #prg_path ""))
  775.  
  776. (if (<> #prg_path "")
  777.     (set #sdir (cat #prg_path ":"))
  778.     (set #sdir "")
  779. )
  780. (set #file (tackon #sdir #prg_name))
  781.  
  782. (setLanguage)
  783.  
  784.  
  785. (askUserOpts)
  786.  
  787. (message #installnow (all))
  788.  
  789. (copyAll)
  790.  
  791.  
  792. (exit)
  793.